<html>
<head><meta charset="utf-8"><title>Fixing {core,std}::panic!()&#x27;s single argument case · t-lang · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/index.html">t-lang</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html">Fixing {core,std}::panic!()&#x27;s single argument case</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="213701297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213701297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213701297">(Oct 18 2020 at 10:59)</a>:</h4>
<p>Hey hey,</p>
<p>I finally found the time to write up a response to <a href="https://github.com/rust-lang/rust/issues/67984#issuecomment-661308680">https://github.com/rust-lang/rust/issues/67984#issuecomment-661308680</a>:</p>
<p><a href="https://hackmd.io/@kQlAmwdASwqEXB8JsIkvyw/H1V0MKFvw">https://hackmd.io/@kQlAmwdASwqEXB8JsIkvyw/H1V0MKFvw</a></p>
<p>This isn't an RFC yet, because it doesn't propose a clear solution, but only discusses a few possible ways forward.</p>
<p>Might be good to discuss this in a lang (or libs?) meeting.</p>



<a name="213703604"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213703604" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213703604">(Oct 18 2020 at 12:06)</a>:</h4>
<p>Thanks for the detailed writeup! This is great.</p>
<blockquote>
<p>The deprecation warning requires a builtin macro to check whether a deprecation warning should be issued.</p>
</blockquote>
<p>Can't we just a custom lint for this? We have plenty of lints warning about things for otherwise normal functions, so it is not clear to me why we cannot do the same for an otherwise normal macro.</p>



<a name="213703665"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213703665" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213703665">(Oct 18 2020 at 12:08)</a>:</h4>
<blockquote>
<p>After some months, we make the hard switch to the incompatible behaviour, hoping that everyone acted upon the deprecation warnings and moved away from relying on the behaviour we’re now breaking.</p>
</blockquote>
<p>FWIW, I doubt this will be possible. Too much old code will never be ported, and people understandably be very annoyed when they cannot build their old code any more. I think the "wrong" uses of the macro are far more wide-spread than other breaking things we did in the past -- but it'd take a crater run to know for sure.</p>



<a name="213703680"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213703680" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213703680">(Oct 18 2020 at 12:09)</a>:</h4>
<blockquote>
<p>Only one case of core::panic!(non_static_str): In Miri’s unit tests. </p>
</blockquote>
<p><span aria-label="rofl" class="emoji emoji-1f923" role="img" title="rofl">:rofl:</span><br>
yes I tried hard to cover all the cases after too many times that one case had a weird special case that Miri did not handle...</p>



<a name="213703796"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213703796" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213703796">(Oct 18 2020 at 12:13)</a>:</h4>
<blockquote>
<p>Can't we just a custom lint for this?</p>
</blockquote>
<p>Ah, good point. I was thinking of <code>#[deprecated]</code>. Yeah, a lint should be fine. I will update the document.</p>



<a name="213703847"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213703847" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213703847">(Oct 18 2020 at 12:14)</a>:</h4>
<blockquote>
<p>FWIW, I doubt this will be possible. Too much old code will never be ported</p>
</blockquote>
<p>Yeah, so I think option 3 is the best.</p>



<a name="213707568"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213707568" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lzutao <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213707568">(Oct 18 2020 at 13:56)</a>:</h4>
<p>One thing I need to add is that while <a href="http://grep.app">grep.app</a> is nice and great,<br>
it doesn't scan all github repositories, it "searches across a half million git repos".<br>
So it couldn't prove that some bad patterns are rare or non-existing.<br>
The better options for that are:</p>
<ul>
<li>github advanced searching</li>
<li>Crater run, which is expensive</li>
</ul>



<a name="213707645"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213707645" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213707645">(Oct 18 2020 at 13:58)</a>:</h4>
<p>Sure, and there's lots of closed source code. I bet most uses of core::panic is in closed source embedded code. I'm just trying to get a bit of an idea of how widespread certain uses are.</p>



<a name="213707660"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213707660" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213707660">(Oct 18 2020 at 13:59)</a>:</h4>
<p>and github's search functionality is really limited :(</p>



<a name="213719642"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213719642" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213719642">(Oct 18 2020 at 18:50)</a>:</h4>
<blockquote>
<p>Can't we just a custom lint for this?</p>
</blockquote>
<p>I have an implementation of this lint now. It suggests to insert <code>"{}", </code> for <code>panic!("something with a { or }")</code>. (Doesn't do anything for <code>panic!(non-str-literal)</code> yet.)</p>



<a name="213719754"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213719754" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213719754">(Oct 18 2020 at 18:53)</a>:</h4>
<p>Fun fact: <code>assert!(false, true);</code> compiles fine and runs <code>panic!(true);</code></p>



<a name="213720114"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213720114" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213720114">(Oct 18 2020 at 19:00)</a>:</h4>
<p>hmm. <code>assert!({false})</code> produces a <code>panic!("assertion failed: {false}")</code> which triggers my lint now. <span aria-label="thinking" class="emoji emoji-1f914" role="img" title="thinking">:thinking:</span></p>



<a name="213720232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213720232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213720232">(Oct 18 2020 at 19:03)</a>:</h4>
<p>could you change assert to use <code>panic!("... {}", stringify!($expr))</code>?</p>



<a name="213720238"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213720238" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213720238">(Oct 18 2020 at 19:03)</a>:</h4>
<p>that would break const_panic for assert!() :(</p>



<a name="213723342"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213723342" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213723342">(Oct 18 2020 at 20:12)</a>:</h4>
<p>assert!(expr) now calls $crate::panicking::panic() directly (the function, not the macro). that fixed it.</p>



<a name="213723392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213723392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213723392">(Oct 18 2020 at 20:12)</a>:</h4>
<p><a href="/user_uploads/4715/I4j9Qd3DQ4D-GcqSce989gP8/screenshot.png">screenshot.png</a></p>
<div class="message_inline_image"><a href="/user_uploads/4715/I4j9Qd3DQ4D-GcqSce989gP8/screenshot.png" title="screenshot.png"><img src="/user_uploads/4715/I4j9Qd3DQ4D-GcqSce989gP8/screenshot.png"></a></div>



<a name="213727513"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213727513" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213727513">(Oct 18 2020 at 21:40)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/pull/78088">https://github.com/rust-lang/rust/pull/78088</a></p>



<a name="213727716"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213727716" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Daniel Henry-Mantilla <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213727716">(Oct 18 2020 at 21:45)</a>:</h4>
<p>What about <code>"{{}}"</code>?  Will that error suggesting to use <code>"{}", "{}"</code>? Will that be supported in the future?</p>



<a name="213727796"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213727796" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213727796">(Oct 18 2020 at 21:47)</a>:</h4>
<p>hm. <code>panic!("{{}}")</code> right now panics with the message <code>"{{}}"</code>. not sure what the best suggestion is there. <code>"{}", "{{}}"</code> keeps the same behaviour. but maybe the user meant to use <code>"{}"</code> as a message.</p>



<a name="213835755"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213835755" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213835755">(Oct 19 2020 at 19:50)</a>:</h4>
<p>Another fun fact: When used in a crate that has std, <code>core::panic!("hello")</code> results in a <code>String</code> panic payload(), while <code>std::panic!("hello")</code> results in a <code>&amp;'static str</code> panic payload().</p>



<a name="213838353"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213838353" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213838353">(Oct 19 2020 at 20:09)</a>:</h4>
<p><span class="user-mention" data-user-id="310399">@Mara</span> very useful indeed, thank you</p>



<a name="213838369"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213838369" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213838369">(Oct 19 2020 at 20:09)</a>:</h4>
<p>personally I think this should clearly happen over an edition boundary</p>



<a name="213838433"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213838433" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213838433">(Oct 19 2020 at 20:10)</a>:</h4>
<p>I think "route 3" is kind of standard edition path</p>



<a name="213839083"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213839083" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213839083">(Oct 19 2020 at 20:15)</a>:</h4>
<p>Yeah, that definitely looks like the best option.</p>



<a name="213839284"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/213839284" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#213839284">(Oct 19 2020 at 20:16)</a>:</h4>
<p>By writing that lint I realized assert!() makes things a bit annoying: <code>assert!({false})</code> generates a <code>panic!("assertion failed: {false}")</code> which would not work after the edition change. but changing that to <code>panic!("{}", "...")</code> would break const_panic, and changing it to <code>panic!("... {{false}}")</code> would only work in rust 2021 (and only if the user didn't have their own panic!() macro in scope that assumed the current behaviour.)  i now changed it to call <code>core::panicking::panic("assertion failed: {false}")</code> instead. I don't know if anyone relies on the ability to 'intercept' assert!()s panics by defining your own panic!() macro in scope, but that'd no longer work then. The documentation doesn't promise that works, so I guess it's fine.</p>
<p>It's such a big pile of small surprising issues that are hard to discover and fix. Wonder what we'll find next ^^'</p>



<a name="214343647"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/214343647" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#214343647">(Oct 23 2020 at 17:42)</a>:</h4>
<p>yeah the panic machinery is very full of surprises</p>



<a name="214343681"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/214343681" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#214343681">(Oct 23 2020 at 17:42)</a>:</h4>
<p>I had to figure out many of them for Miri, which prompted me to write <a href="https://www.ralfj.de/blog/2019/11/25/how-to-panic-in-rust.html">https://www.ralfj.de/blog/2019/11/25/how-to-panic-in-rust.html</a></p>



<a name="214343691"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/214343691" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#214343691">(Oct 23 2020 at 17:43)</a>:</h4>
<p>but I am not sure how up-to-date that still is^^</p>



<a name="214343721"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/214343721" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#214343721">(Oct 23 2020 at 17:43)</a>:</h4>
<p>thanks <span class="user-mention" data-user-id="310399">@Mara</span> for digging through all this and cleaning it up :-)</p>



<a name="214344028"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/214344028" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#214344028">(Oct 23 2020 at 17:45)</a>:</h4>
<p>oh, nice blog post!</p>



<a name="214495359"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/Fixing%20%7Bcore%2Cstd%7D%3A%3Apanic%21%28%29%27s%20single%20argument%20case/near/214495359" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/Fixing.20.7Bcore.2Cstd.7D.3A.3Apanic!()&#x27;s.20single.20argument.20case.html#214495359">(Oct 25 2020 at 15:32)</a>:</h4>
<p>Update: This is now an RFC with a concrete plan: <a href="https://github.com/fusion-engineering-forks/rfcs/blob/panic/text/0000-panic-plan.md">https://github.com/fusion-engineering-forks/rfcs/blob/panic/text/0000-panic-plan.md</a></p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>